This invention relates to estimating the usage of resources. The invention may, for example, be applied to generating capacity or deployment plans in a service organisation.
In a large service organisation there may be many tasks that need to be performed in order to meet demand for work from customers. Each of those tasks may have certain attributes that need to be taken into account in determining how and when the task is to be completed. Those attributes may, for instance, include the urgency of the task, the importance of the task, the location at which the task needs to be performed and the skills that are required in order to complete the task.
The service organisation may have a number of resources that can be deployed in the completion of tasks. Those resources could, for example, be engineers, equipment or data processing resources. Each resource may have certain attributes that can be taken into account when the organisation allocates its resources for the completion of the outstanding tasks. Those attributes may include the skills or capabilities of the resource and the location of the resource.
Service industries are coming under increasing pressure to provide an efficient and cost-effective service to customers. In order to achieve this it is important to align the demand for services as effectively as possible with the supply of resources. This requires the organisation to carry out a capacity planning process in order to determine how best to allocate the available resources to the outstanding tasks. In a large service organisation such as a regional or national telecommunications network this planning process is extremely complex. There may be many thousands of tasks and resources that need to be paired with each other. The capacity planning process can also provide information on whether there is underutilisation of any of the resources, or whether more resources are needed. If there is insufficient capacity to perform all the tasks then a decision will have to be taken on which tasks should be deferred.
Conventional planning is carried out at three levels: a “capacity” level that provides information on the overall balance of customer demand with resource supply; a “deployment” level that suggests which resources can be allocated to each task; and a “schedule” level that represents the allocation of specific resources to specific tasks.
In a conventional capacity planning system a “workstack” is defined, representing the demand by customers for tasks (jobs) to be performed over a period of time. The workstack may show information such as the job demand for each day, how many jobs can be done on that day, how many jobs have to be done on that day and how many jobs have to be done in the future. The workstack may be broken down into different categories to illustrate and distinguish different components of the workstack. At the capacity planning level, a resource list is defined showing how many technicians are available and how many of the available technicians can be used. This is compared with the workstack to determine how many of the available technicians are likely to be under-utilised and how many technicians will be needed to meet the demand fully. A high-level capacity plan for technicians may, for instance, return the following information:                20 technicians are needed in location A to do 40 jobs requiring skill S        5 technicians are under utilised—identification of under-utilisation        15 additional technicians are needed in order to satisfy the full demand        
The deployment plan is more detailed than the capacity plan. Whereas the capacity plan gives an overall view of the supply in relation to the potential demand, the deployment plan goes a step further in suggesting how best to use the available technicians to satisfy the demand. The deployment plan can be generated in advance, and so present deployment plans typically do not take account of factors such as sickness or downtime of resources that can occur hour-by-hour when the tasks actually come to be performed.
The deployment plan may yield information such as:                technician T should be sent to location A working on jobs requiring skill S        
Finally, the schedule plan represents the allocation of specific resources to specific tasks. The schedule plan may yield information of the form:                technician T will do job J1 in location A requiring skill S at 9.30 AM        technician T will do job J2 in location B requiring skill S at 10.00 AM        
A number of factors and issues combine to make the generation of capacity and deployment plans a complex and challenging problem. The issues include business objectives and technical difficulty.
In practice, planning to cope with service demand is performed with the aim of achieving a set of business goals. These goals can typically be classified into two categories: those that aim at increasing the quality of service delivered to customers and those that aim at reducing cost for the service provider. These categories are often in conflict since enhanced quality of service often involves greater cost to the business. Possible indicators of quality of service include:                satisfying demand with correctly equipped and placed resources,        satisfying as much demand as possible,        satisfying high priority demand preferentially and        satisfying demand within agreed time limits.        
Possible steps to reduce costs depend on the kind of resources for which the planning is being performed. In the case where the resources represent technicians the steps may include:                deploying resources in accordance with their own geographical preferences,        deploying technicians to their preferred skills to avoid efficiency losses,        deploying technicians to their preferred/agreed rosters,        deploying technicians so that their labour is fully utilised,        deploying available technicians first before bringing in further manpower on overtime or as contractors and        identifying underutilised technicians and making them available for reassignment.        
The technical difficulty of the problem arises from its combinatorial complexity. There may be many attributes of each task and of each resource, and many thousands of tasks and resources. Computing a suitable assignment of resources to tasks is computationally very demanding. For that reason it is normally impossible to achieve an acceptable solution manually: computerised processing must be employed.
A system for solving this problem should preferably scale well so that it is capable of performing well for large sets of tasks and resources and should be capable of providing a solution in an acceptable period of time.